Árvore (Tree) é uma estrutura de dados hierárquica não linear, que simula arquiteturas do mundo real (como sistemas de arquivos ou árvores genealógicas). Diferentemente da disposição linear de listas, pilhas e filas, a essência das árvores reside em suanatureza hierárquica (Hierarchical)enatureza recursiva (Recursive).
1. Analisando a Forma da Árvore
- Nó (Node): Unidade básica que contém uma chave (Key) e um payload.
- Nó Raiz (Root): O único nó sem arestas entrantes, sendo o ponto inicial da árvore.
- Aresta (Edge): Caminho único que conecta nós, representando a relação entre pais e filhos.
- Nó Folha (Leaf): Extremidade sem filhos, representando o limite natural para a recursão se encerrar.
2. Dois Olhares sobre a Definição Recursiva
Podemos entender as árvores sob dois pontos de vista:
Visão Computacional
Um grafo acíclico e conexo formado por nós e arestas, onde cada nó (exceto a raiz) possui exatamente um pai.
Um grafo acíclico e conexo formado por nós e arestas, onde cada nó (exceto a raiz) possui exatamente um pai.
Visão Recursiva
Uma árvore é vazia ou composta por um nó raiz e zero ou mais subárvores (Subtree).
Uma árvore é vazia ou composta por um nó raiz e zero ou mais subárvores (Subtree).
Exemplo de Árvore DOM em HTML
No HTML,
<html> é a raiz,<body> e <head> são nós irmãos. Cada etiqueta e seu conteúdo aninhado formam conjuntamente uma subárvore. Essa estrutura permite mover todo o elemento <ul> e todos os seus <li> sem comprometer sua hierarquia interna.